package com.example.day04.teachercode;

import java.util.Arrays;

public class Customer {

    private  Order[] orders;

    public Order[] getOrders() {
        return orders;
    }

    public void setOrders(Order[] orders) {
        this.orders = orders;
    }

    //添加订单信息
    public  void  addOrder(Order o){
        //第一次添加对数组进行初始化
        if(orders==null){
            orders=new Order[0];
        }

        //数组扩容
        orders= Arrays.copyOf(orders,orders.length+1);

        //添加订单信息
        orders[orders.length-1]=o;

    }

    //del根据订单编号删除订单
    public  void delByOrderno(int no){
        if(orders==null){
            System.out.println("用户没有订单无法删除。。。");
        }

        for (Order order : orders) {
            if(order.getOrderNo()==no){
                order.setStatus(3);
                return;
            }
        }

        System.out.println("要删除的订单号不存在。。。。。。");
    }

    //返回被删除的订单
    public  Order[]  showDelete(){
        if(orders==null){
            System.out.println("没有任何订单信息可以删除。。。。。");
        }

        //使用一个数组来返回
        Order [] temp=Arrays.copyOf(orders,orders.length);
        //将数组所有的值设置为空
        Arrays.fill(temp,null);
        //定义计算器
        int count=0;
        //遍历输出删除了的订单
        for (Order order : orders) {
            if(order.getStatus()==3){
                temp[count++]=order;
            }
        }

        return  Arrays.copyOf(temp,count);
    }

    //返回所有订单信息
    public  void showAllmessage(){
        if(orders==null){
            System.out.println("订单信息为空。。。");
        }

        System.out.println("所有订单信息如下：");
        /**
         * 状态3 表示改订单被删除  所以在所有订单的列表里面删除
         */
        for (Order order : orders) {
            if (order.getStatus() != 3) {
                System.out.println("\t" + order);
            }
        }

    }


}
